void main() {
  // 泛型限定数据的类型：List、Map
  List<String> langs = ['html', 'css', 'js'];

  Map<String, String> map = {"id": "1", "name": "kunkun"};

  // 使用泛型减少重复代码
  // 封装方法:接受字符串并返回,接受数据并返回,接收 bool 并返回

  String demoString(String str) {
    return str;
  }

  int demoInt(int a) {
    return a;
  }

  bool demoBool(bool b) {
    return b;
  }

  // 封装方法:接受什么样的数据，就返回什么类型
  T demo<T>(T t) {
    return t;
  }

  // 调用
  String str = demo<String>('1');
  int a = demo<int>(1);
  bool falg = demo<bool>(true);
}
